global.Buffer = global.Buffer || require('buffer').Buffer;

if (typeof btoa === 'undefined') {
  global.btoa = function (str) {
    return new Buffer(str, 'binary').toString('base64');
  };
}

if (typeof atob === 'undefined') {
  global.atob = function (b64Encoded) {
    return new Buffer(b64Encoded, 'base64').toString('binary');
  };
}

//定义函数n
   function n(e) {
    for (var t, a, n, s = new Array(0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964), i = new Array(0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697), r = new Array(0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272), o = new Array(0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144), l = new Array(0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256), c = new Array(0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488), d = new Array(0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746), u = new Array(0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568), m = new Array(0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578), h = new Array(0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488), f = new Array(0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800), p = new Array(0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744), b = new Array(0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128), v = new Array(0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261), g = e.length > 8 ? 3 : 1, x = new Array(32 * g), T = new Array(0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0), y = 0, w = 0, C = 0; C < g; C++) {
        var _ = e.charCodeAt(y++) << 24 | e.charCodeAt(y++) << 16 | e.charCodeAt(y++) << 8 | e.charCodeAt(y++)
          , M = e.charCodeAt(y++) << 24 | e.charCodeAt(y++) << 16 | e.charCodeAt(y++) << 8 | e.charCodeAt(y++);
        n = 252645135 & (_ >>> 4 ^ M),
        M ^= n,
        _ ^= n << 4,
        n = 65535 & (M >>> -16 ^ _),
        _ ^= n,
        M ^= n << -16,
        n = 858993459 & (_ >>> 2 ^ M),
        M ^= n,
        _ ^= n << 2,
        n = 65535 & (M >>> -16 ^ _),
        _ ^= n,
        M ^= n << -16,
        n = 1431655765 & (_ >>> 1 ^ M),
        M ^= n,
        _ ^= n << 1,
        n = 16711935 & (M >>> 8 ^ _),
        _ ^= n,
        M ^= n << 8,
        n = 1431655765 & (_ >>> 1 ^ M),
        M ^= n,
        _ ^= n << 1,
        n = _ << 8 | M >>> 20 & 240,
        _ = M << 24 | M << 8 & 16711680 | M >>> 8 & 65280 | M >>> 24 & 240,
        M = n;
        for (var S = 0; S < T.length; S++)
            T[S] ? (_ = _ << 2 | _ >>> 26,
            M = M << 2 | M >>> 26) : (_ = _ << 1 | _ >>> 27,
            M = M << 1 | M >>> 27),
            _ &= -15,
            M &= -15,
            t = s[_ >>> 28] | i[_ >>> 24 & 15] | r[_ >>> 20 & 15] | o[_ >>> 16 & 15] | l[_ >>> 12 & 15] | c[_ >>> 8 & 15] | d[_ >>> 4 & 15],
            a = u[M >>> 28] | m[M >>> 24 & 15] | h[M >>> 20 & 15] | f[M >>> 16 & 15] | p[M >>> 12 & 15] | b[M >>> 8 & 15] | v[M >>> 4 & 15],
            n = 65535 & (a >>> 16 ^ t),
            x[w++] = t ^ n,
            x[w++] = a ^ n << 16
    }
    return x
};
//定义函数i
 function i(e) {
    for (var t = e.length; t < 24; t++)
        e += "0";
    return e
};
//定义函数s
 function s(e, t, a) {
    return {
        key: i(e.slice(t, a)),
        vector: 1
    }
};
//定义函数a
function a(e, t, a, s, i, r) {
    a && (t = unescape(encodeURIComponent(t)));

    var o, l, c, d, u, m, h, f, p, b, v, g, x, T, y = new Array(16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756), w = new Array(-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344), C = new Array(520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584), _ = new Array(8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928), M = new Array(256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080), S = new Array(536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312), D = new Array(2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154), k = new Array(268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696), A = n(e), V = 0, N = t.length, F = 0, I = 32 == A.length ? 3 : 9;
    f = 3 == I ? a ? new Array(0,32,2) : new Array(30,-2,-2) : a ? new Array(0,32,2,62,30,-2,64,96,2) : new Array(94,62,-2,32,64,2,30,-2,-2),
    2 == r ? t += "        " : 1 == r ? a && (c = 8 - N % 8,
    t += String.fromCharCode(c, c, c, c, c, c, c, c),
    8 === c && (N += 8)) : r || (t += "\0\0\0\0\0\0\0\0");
    var L = ""
      , H = "";

    for (1 == s && (p = i.charCodeAt(V++) << 24 | i.charCodeAt(V++) << 16 | i.charCodeAt(V++) << 8 | i.charCodeAt(V++),
    v = i.charCodeAt(V++) << 24 | i.charCodeAt(V++) << 16 | i.charCodeAt(V++) << 8 | i.charCodeAt(V++),
    V = 0); V < N; ) {
        for (m = t.charCodeAt(V++) << 24 | t.charCodeAt(V++) << 16 | t.charCodeAt(V++) << 8 | t.charCodeAt(V++),
        h = t.charCodeAt(V++) << 24 | t.charCodeAt(V++) << 16 | t.charCodeAt(V++) << 8 | t.charCodeAt(V++),
        1 == s && (a ? (m ^= p,
        h ^= v) : (b = p,
        g = v,
        p = m,
        v = h)),
        c = 252645135 & (m >>> 4 ^ h),
        h ^= c,
        m ^= c << 4,
        c = 65535 & (m >>> 16 ^ h),
        h ^= c,
        m ^= c << 16,
        c = 858993459 & (h >>> 2 ^ m),
        m ^= c,
        h ^= c << 2,
        c = 16711935 & (h >>> 8 ^ m),
        m ^= c,
        h ^= c << 8,
        c = 1431655765 & (m >>> 1 ^ h),
        h ^= c,
        m ^= c << 1,
        m = m << 1 | m >>> 31,
        h = h << 1 | h >>> 31,
        l = 0; l < I; l += 3) {
            for (x = f[l + 1],
            T = f[l + 2],
            o = f[l]; o != x; o += T)
                d = h ^ A[o],
                u = (h >>> 4 | h << 28) ^ A[o + 1],
                c = m,
                m = h,
                h = c ^ (w[d >>> 24 & 63] | _[d >>> 16 & 63] | S[d >>> 8 & 63] | k[63 & d] | y[u >>> 24 & 63] | C[u >>> 16 & 63] | M[u >>> 8 & 63] | D[63 & u]);
            c = m,
            m = h,
            h = c
        }
        m = m >>> 1 | m << 31,
        h = h >>> 1 | h << 31,
        c = 1431655765 & (m >>> 1 ^ h),
        h ^= c,
        m ^= c << 1,
        c = 16711935 & (h >>> 8 ^ m),
        m ^= c,
        h ^= c << 8,
        c = 858993459 & (h >>> 2 ^ m),
        m ^= c,
        h ^= c << 2,
        c = 65535 & (m >>> 16 ^ h),
        h ^= c,
        m ^= c << 16,
        c = 252645135 & (m >>> 4 ^ h),
        h ^= c,
        m ^= c << 4,
        1 == s && (a ? (p = m,
        v = h) : (m ^= b,
        h ^= g)),
        H += String.fromCharCode(m >>> 24, m >>> 16 & 255, m >>> 8 & 255, 255 & m, h >>> 24, h >>> 16 & 255, h >>> 8 & 255, 255 & h),
        F += 8,
        512 == F && (L += H,
        H = "",
        F = 0)
    }
    // return L;
    if (L += H, L = L.replace(/\0*$/g, ""), !a) {

        if (1 === r) {

            var N = L.length
              , E = 0;
            N && (E = L.charCodeAt(N - 1)),
            E <= 8 && (L = L.substring(0, N - E))
            return JSON.parse( L );
        }
        // L = decodeURIComponent(escape(L))
    }
    // return L
}
//定义函数decrypt
function decrypt(e,t){
	e = "GTO2OINTERFACE2017#@!%88";

	result = a(s(e, 0, 24).key, atob(t), 0, 0, "12345678", 1);
    // return result;
	return ( result );

	// return JSON.parse( result );
};

var t = "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"
result = decrypt("",t);
console.log( result );

